package szxy.base.day05;
/*
    (1)方法：方法是程序中最小的执行单元

    语句定义格式：
        修饰符   返回值类型   方法名（参数类型1 参数名1，参数类型2 参数名2......）{
                方法的实现逻辑
                 return 返回值;
        }

     1、名词解释：
           修饰符：目前只需要记住一个固定方法 public static ,后面再学如何编写修饰符
           返回值类型：一个方法调用完毕，调用者会得到的数据的类型
           方法名：将来调用者使用功能的名字，将来可以通过名字调用，方法名要符合标识符的命名规则
           参数：
                形式参数：在定义方法的时候，小括号中的参数
                实际参数：调用方法时，实际闯入的值
            参数类型：定义将来调用方法时需要传入什么类型的值
            参数名：形式参数的名字，一般要做到符号标识符的命名规则，同时，要见名知意
            方法体：这个方法要做的事
            return:用于结束一个方法，也可以将返回值返回给调用者
            返回值：要返回给调用者的内容



      2、方法的定义及使用注意事项：
            （1）在java语言中，方法与方法是平级关系，方法不能嵌套定义
            （2）方法不调用不执行   *****
            （3）方法调用的时候，不需要传入参数类型
            （4）方法调用的时候，传入变量的时候，实际传入的是变量中存储的值给到方法的形参，传入的变量名和方法形参名没有关系
            （5）若调用的方法有返回值的话，要么使用一个对应类型的变了接收结果，要么就直接使用
            （6）方法的编写顺序与执行顺序无关     *****
            （7）return语句下面，不能编写代码，因为永远执行不到，属于无效的代码      ******


       3、定义方法的技巧：
               (1)我要干嘛？（决定了方法的方法体）
               (2)我干这件事，需要什么才能完成？(决定了方法的形参)
               (3)方法的调用处，是否需要继续使用方法的结果？（决定了方法的返回值）
                       如果要用，那么方法必须要有返回值
                       如果不要用，方法可以写返回值，也可以不写返回值


       4、并不是所有的方法都会有返回值，没有返回值的方法可以直接调用


       5、有返回值必须定义，若无返回值，那么这时候返回值类型写：void

       6、方法的种类：
            1、无参无返回值
            2、有参无返回值
            3、有参有返回值
            4、无参有返回值



 */
public class demo1Function {
    public static void main(String[] args) {

        //需求：求两个int类型的数据之和
//        int a1=2;
//        int b1=3;
//        int c1=a1+b1;
//        System.out.println(c1);


        /*
        修饰符   返回值类型   方法名（参数类型1 参数名1，参数类型2 参数名2......）{
                方法的实现逻辑
                 return 返回值;
        }
         */
        //在java语言中，方法不能被嵌套定义



        //2、在main方法中调用方法（方法不调用不执行）
        //方法中传的值是实参
//        int x=3;
//        int y=5;
        int res = sum(3,5);     //使用变量接收方法的调用结果。后续可以继续使用这个变量
        System.out.println(res);

//        int res2 = res + 5;
//        System.out.println(res2);
        //System.out.println(sum(x,y));    //直接对方法的调用结果进行使用，后续无法再使用该方法的调用结果

    }



    //1、定义方法
    //方法中的是形参
    public static int sum(int a1,int b1){
        int c1=a1+b1;
        return c1;
    }





}
